<?php

// +----------------------------------------------------------------------
// | 一些普通的模型
// +----------------------------------------------------------------------

namespace Home\Model;

use Common\Model\Model;

class CommonsModel extends Model {

    /**
     * 留言模型
     * @param $post 提交的数据
     * @param $type 留言的模块(有作品,有文章类的)
     * @return bool
     */
   public function sendMessage($post,$type){
       $model=M('UserMessage');
       if(empty($post)){
           $this->error='提交数据出错,请重试!';
           return false;
       }
       $post['type']=$type;
       $post['create_time']=time();
       $post['status']=true;
       if ($model->create($post)) {
           $result = $model->add();
           if ($result) {
               return true;
           }else{
               $this->error = '留言失败,请稍候再试！';
               return false;
           }
       } else {
           return false;
       }
   }
   
   public function sendMessage2($post,$type){
       $model=M('UserMessage');
       if(empty($post)){
           $this->error='提交数据出错,请重试!';
           return false;
       }
       $post['type']=$type;
       $post['status']=true;
       if ($model->create($post)) {
           $result = $model->add();
           if ($result) {
               return true;
           }else{
               $this->error = '留言失败,请稍候再试！';
               return false;
           }
       } else {
           return false;
       }
   }

    /**
     * 点赞
     * @param $post
     * @param $type 点赞类型
     * @return bool
     */

    public function adddig($post,$type){
        $model=M('Dig');
        if(empty($post)){
            $this->error='点赞提交出错,请稍候再试!';
            return false;
        }
        $post['type']=$type;
        $post['create_time']=time();
        $post['status']=true;
       // $post['digtype']=empty($post['digtype'])?1:0;
        if(!isset($_GET['digtype'])){
            $post['digtype']=1;
        }
        if($model->where(array('userid'=>$post['userid'],'status'=>true,'infoid'=>$post['infoid']))->count()>0){
            $this->error='您已点赞过,感谢您的支持!';
            return false;
        }
        $digs=$model->field('id,digtype')->where(array('userid'=>$post['userid'],'status'=>false,'infoid'=>$post['infoid']))->find();

        if($digs) {
            $model->where(array('id'=>$digs['id']))->save($post);
            if($post['digtype']==1){
                M('Works')->where(array('workid'=>$post['infoid']))->setInc('goodnum',1);
            }elseif($post['digtype']==0){
                M('Works')->where(array('workid'=>$post['infoid']))->setInc('badnum',1);
            }
            return true;
        }else{

            if ($model->create($post)) {
                $result = $model->add();
                if ($result) {
                    if ($post['digtype'] == 1) {
                        M('Works')->where(array('workid' => $post['infoid']))->setInc('goodnum', 1);
                    } elseif ($post['digtype'] == 0) {
                        M('Works')->where(array('workid' => $post['infoid']))->setInc('badnum', 1);
                    }
                    return true;
                } else {
                    $this->error = '点赞失败,请稍候再试！';
                    return false;
                }
            } else {
                return false;
            }
        }
    }


    /**
     * 添加收藏模型
     * @param $post
     * @param $type
     * @return bool
     */
    public function addfavorite($post,$type){
        $model=M('UserFavorite');
        if(empty($post)){
            $this->error='点赞提交出错,请稍候再试!';
            return false;
        }
        $post['type']=$type;
        $post['create_time']=time();
        $post['status']=true;
        $fvid=$model->where(array('userid'=>$post['userid'],'status'=>false,'infoid'=>$post['infoid']))->getField('id');
        if($fvid) {
            $model->where(array('id'=>$fvid))->save($post);
            M('Works')->where(array('workid'=>$post['infoid']))->setInc('favoritenum',1);
            return true;
        }
        if ($model->create($post)) {
            $result = $model->add();
            if ($result) {
                M('Works')->where(array('workid'=>$post['infoid']))->setInc('favoritenum',1);
                return true;
            }else{
                $this->error = '收藏失败,请稍候再试！';
                return false;
            }
        } else {
            return false;
        }
    }


    /**
     * 关注模型
     * 如果status=false表示曾经关注,但取消了关注
     * @param $post
     * @return bool
     */
    public function addfans($post){
        $model=M('UserFans');
        if(empty($post)){
            $this->error='关注提交出错,请稍候再试!';
            return false;
        }
        if(empty($post['userid'])){
            $this->error='参数错误,关注失败!';
            return false;
        }
        $post['create_time']=time();
        $post['status']=true;
        if($model->where(array('userid'=>$post['userid'],'status'=>true,'myid'=>$post['myid']))->count()>0){
            $this->error = '该赔友已存在您的关注表中!';
            return false;
        }

        $fansid=$model->where(array('userid'=>$post['userid'],'status'=>false,'myid'=>$post['myid']))->getField('id');
        if($fansid) {
            $model->where(array('id'=>$fansid))->save($post);
            M('User')->where(array('userid'=>$post['myid']))->setInc('attentionnum',1);
            M('User')->where(array('userid'=>$post['userid']))->setInc('fansnum',1);
            return true;
        }
        if ($model->create($post)) {
            $result = $model->add();
            if ($result) {
                M('User')->where(array('userid'=>$post['myid']))->setInc('attentionnum',1);
                M('User')->where(array('userid'=>$post['userid']))->setInc('fansnum',1);
                return true;
            }else{
                $this->error = '关注失败,请稍候再试！';
                return false;
            }
        } else {
            return false;
        }
    }


}
